/**
*  \file hardware.c
*
*  \brief
*
*  \author Michael J. Hohmann  <michael.hohmann@linde-mh.de>
*
*
*/

/*===============================================[ private includes  ]================================================*/
#include <xmc4500/adc_hw.h>
#include <xmc4500/can_hw.h>
#include <xmc4500/encoder_hw.h>
#include <xmc4500/i2c_hw.h>
#include <xmc4500/io.h>
#include <xmc4500/pwm_hw.h>
#include <xmc4500/spi_hw.h>
#include "hardware.h"
#include "../tlf/tlf.h"

/*===============================================[ private defines   ]================================================*/

/*===============================================[ private datatypes ]================================================*/

/*===============================================[ private variables ]================================================*/

/*===============================================[ private functions ]================================================*/

/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/
RC hardware_initialize( void )
{
   IO_vInit();
   spi_hardware_init();
   tlf_init();
   adc_hardware_init();
   pwm_hardware_init();
   can_hardware_init();
   i2c_hardware_init();
   encoder_hardware_init();
   enable_sys_tick_interrupt();

   return RC_SUCCESS;
}

RC hardware_initialize_post( void )
{
   init_qei_post();
   enable_task_timers();
   return RC_SUCCESS;
}


/*===============================================[ private functions ]================================================*/


/***********************************************************************************************************************
*                             Copyright 2020 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
